home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
DJGPP
/
BCCGRX12.ZIP
/
contrib
/
bcc2grx
/
src
/
rand_tp.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-04-21
|
805b
|
34 lines
/*
* BCC2GRX - Interfacing Borland based graphics programs to LIBGRX
* Copyright (C) 1993 Hartmut Schirmer
*
* see bccgrx.c for details
*
*
* This random number generator should be compatible
* with the Turbo-Pascal random(..) function
*
*/
#include <p2c/tp_port.h>
long RANDSEED_TP;
unsigned short RANDOM_TP(unsigned short range)
{
RANDSEED_TP = RANDSEED_TP * 134775813L + 1;
if (range == 0) return 0;
return (((unsigned long)RANDSEED_TP) >> 16) % range;
}
#define TIMER_LOW ((unsigned short *) 0xE000046C)
#define TIMER_HIGH ((unsigned short *) 0xE000046E)
void RANDZE_TP(void)
{
RANDSEED_TP = *TIMER_LOW + (*TIMER_HIGH << 16);
}
double RANDOM_R_TP(void) {
RANDOM_TP( 1);
return (double)((unsigned long) RANDSEED_TP) / 4294967296.0;
}